// ReportError.h: interface for the CReportError class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_REPORTERROR_H__9B3E693E_098A_4073_8958_063FF70B5221__INCLUDED_)
#define AFX_REPORTERROR_H__9B3E693E_098A_4073_8958_063FF70B5221__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Error.h"

typedef struct ErrorFileInfo
{
	int iLine;
	CString strFileName;
} ERRORFILEINFO, *PERRORFILEINFO;

typedef struct ErrorFileInfo  *PERRORFILEINFO;

class __declspec(dllexport) CReportError  
{
public:
	CReportError();
	virtual ~CReportError();

public:
	void ShowError();
	
	void Add(CString strError, int iErrorStyle, CString strFileName,  int  iLine);
	void IncrFileLine(CFile *pFile);
	PERRORFILEINFO FileCurLineNum(CFile *pFile);
	void Add(CString strError, int iErrorStyle, CFile *pfile);

	CArray<PERRORFILEINFO, PERRORFILEINFO> m_ErrorFileInfoArray;
	CArray<CError*, CError*> m_ErrorArray;
};

#endif // !defined(AFX_REPORTERROR_H__9B3E693E_098A_4073_8958_063FF70B5221__INCLUDED_)
